home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / virus / tbav503.zip / TBCHECK.DOC < prev    next >
Text File  |  1992-12-29  |  17KB  |  601 lines

  1.  
  2.  
  3.  Thunderbyte resident integrity checker. (C) 1992 Thunderbyte B.V.
  4.  
  5.  
  6.                                Table of Contents
  7.  
  8.  
  9.     1. INTRODUCTION...................................... 2
  10.         1.1. Purpose of TbCheck.......................... 2
  11.         1.2. A Quick start............................... 2
  12.         1.3. Benefits.................................... 2
  13.  
  14.     2. USAGE OF THE PROGRAM.............................. 4
  15.         2.1. System requirements......................... 4
  16.         2.2. Program invocation.......................... 4
  17.             2.2.1. Invocation in Config.Sys.............. 5
  18.             2.2.2. Invocation in network environment..... 5
  19.             2.2.3. Invocation when using MS-Windows...... 5
  20.         2.3. While checking.............................. 5
  21.         2.4. Detecting file changes...................... 5
  22.         2.5. Command line options........................ 5
  23.             2.5.1. help ................................. 6
  24.             2.5.2. off .................................. 6
  25.             2.5.3. on ................................... 6
  26.             2.5.4. remove ............................... 6
  27.             2.5.5. noavok ............................... 6
  28.             2.5.6. fullcrc .............................. 7
  29.             2.5.7. secure ............................... 7
  30.         2.6. Examples:................................... 7
  31.  
  32.     3. CONSIDERATIONS AND RECOMMENDATIONS................ 8
  33.         3.1. Solving incompatibility problems............ 8
  34.         3.2. Reducing the memory requirements............ 8
  35.         3.3. Testing the checker......................... 9
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                                      Page i
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.                                      Page 1
  122.  
  123.  Thunderbyte resident integrity checker. (C) 1992 Thunderbyte B.V.
  124.  
  125.  
  126. 1.  INTRODUCTION
  127.  
  128.  
  129.   1.1.  Purpose of TbCheck
  130.  
  131.     TbCheck is an integrity checker. It uses the Anti-Vir.Dat records
  132.     generated by TbSetup to detect file changes. The Anti-Vir.Dat
  133.     records contain information like file sizes and checksums of
  134.     every executable file. By comparing this information with the
  135.     actual file status it is possible to detect any change of these
  136.     files, and thus to detect infections caused by viruses.
  137.  
  138.     By now already many integrity checkers have been developed. The
  139.     problem with all these checkers is that you have to execute them.
  140.     Suppose you have the integrity checker automatically invoked in
  141.     your autoexec.bat file. If no files are changed, your system is
  142.     supposed to be uninfected. But, to be sure that no virus can infect
  143.     your system, you have to run the checker frequently.
  144.  
  145.     TbCheck has a unique feature to overcome this tedious checking.
  146.     Once invoked it will remain resident in memory, and AUTOMATICALLY
  147.     scan all programs you try to execute!
  148.  
  149.     You probably think that a resident integrity checker consumes much
  150.     memory, makes your system slow, and is a source of many problems.
  151.     But, if you are familiar with our shareware scanner TBSCAN, you know
  152.     that this scanner can scan and check your files faster than any
  153.     other scanner. TbCheck achieves lightning fast speed as well.
  154.  
  155.     TbCheck itself requires only 600 bytes and can be loaded in upper
  156.     memory.
  157.  
  158.  
  159.   1.2.  A Quick start
  160.  
  161.     Although we highly recommend a complete reading of this manual, here
  162.     are some directions for a quick run of TbCheck:
  163.  
  164.     Load TbDriver first if it is not yet loaded. Type "TbDriver" and
  165.     press return.
  166.     To load TbCheck type "TbCheck" and press return.
  167.  
  168.     The invocation syntax is:
  169.             TBCHECK [<options>]...
  170.  
  171.     For fast online help type "TbCheck ?" or "TbCheck help".
  172.  
  173.  
  174.   1.3.  Benefits
  175.  
  176.     By now many different integrity checkers have been developed.
  177.     However, TbCheck has a number of important and unique advantages
  178.  
  179.  
  180.  
  181.                                      Page 2
  182.  
  183.  Thunderbyte resident integrity checker. (C) 1992 Thunderbyte B.V.
  184.  
  185.  
  186.     over other checkers. These are:
  187.  
  188.     +   TbCheck is fully network compatible. It does not require you to
  189.         reload the checker after logged on to the network. Other
  190.         resident anti-virus utilities force you to choose between
  191.         protection before the network is started, or protection after
  192.         the network is started, but not both.
  193.  
  194.     +   TbCheck can display its messages in your local language.
  195.  
  196.     +   TbCheck uses very little memory when compared to other resident
  197.         integrity checkers. TbCheck and TbDriver require together less
  198.         than 4Kb of memory. Of course you can also load these programs
  199.         into upper memory.
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.                                      Page 3
  242.  
  243.  Thunderbyte resident integrity checker. (C) 1992 Thunderbyte B.V.
  244.  
  245.  
  246. 2.  USAGE OF THE PROGRAM
  247.  
  248.  
  249.   2.1.  System requirements
  250.  
  251.     TbCheck runs perfectly on standard machines, in line with our
  252.     philosophy that there should be a limit to limitations.
  253.  
  254.     +   TbCheck can be executed under DOS version 3.00 (and all later
  255.         versions). However, Dos 5.0 or higher is recommended, since
  256.         TbCheck has been optimized and designed primarily for use with
  257.         these DOS versions.
  258.  
  259.     +   TbCheck requires about 4 Kb of free memory to be invoked.
  260.         After termination it requires only 600 bytes of memory.
  261.  
  262.  
  263.   2.2.  Program invocation
  264.  
  265.     It is recommended to invoke TbCheck automatically from within your
  266.     Config.Sys or Autoexec.Bat file. It is important to invoke TbCheck
  267.     as early as possible after the machine has booted. For that reason
  268.     it is possible to invoke TbCheck from within the Config.Sys file.
  269.  
  270.     TbCheck requires TbDriver to be loaded first!
  271.  
  272.     TbCheck is easy to use. The syntax is as follows:
  273.             TbCheck [<options>]...
  274.  
  275.     There are three possible ways to invoke TbCheck:
  276.  
  277.     To invoke TbCheck from the DOS prompt or within the Autoexec.Bat
  278.     file:
  279.             <path>TbCheck
  280.  
  281.     To invoke TbCheck from the Config.Sys as a TSR (Dos 4+):
  282.             Install=<path>TbCheck.Exe
  283.  
  284.     To invoke TbCheck from the Config.Sys as a device driver:
  285.             Device=<path>TbCheck.Exe
  286.  
  287.     TbCheck should always work correctly after being started from
  288.     within the Autoexec.Bat. The "Install=" Config.Sys command is
  289.     NOT available in DOS 3.xx.
  290.  
  291.     In addition to the three invocation possibilities DOS 5 users can
  292.     "highload" TbCheck in an UMB (upper memory block) if it is
  293.     available:
  294.             LoadHigh <path>TbCheck.Exe
  295.     Within the Config.Sys file TbCheck can also be loaded high:
  296.             DeviceHigh=<path>TbCheck.Exe
  297.  
  298.  
  299.  
  300.  
  301.                                      Page 4
  302.  
  303.  Thunderbyte resident integrity checker. (C) 1992 Thunderbyte B.V.
  304.  
  305.  
  306.    2.2.1.  Invocation in Config.Sys
  307.  
  308.     -> Invoking TbCheck as a device driver does not work in all OEM
  309.        versions of DOS. You have to try it, if it doesn't work use the
  310.        "Install=" command or load TbCheck from within the Autoexec.Bat.
  311.  
  312.    2.2.2.  Invocation in network environment
  313.  
  314.     -> Unlike other anti-virus products, the Thunderbyte anti-virus
  315.        utlities can be loaded before the network is started without
  316.        losing the protection after the network is started.
  317.  
  318.    2.2.3.  Invocation when using MS-Windows
  319.  
  320.     -> Windows users should invoke TbCheck BEFORE starting Windows.
  321.        If you do that there is only one copy of TbCheck in memory, but
  322.        every DOS-window will nevertheless have a fully functional
  323.        TbCheck in it.  TbCheck detects if Windows is starting up, and
  324.        will switch itself into multitasking mode if necessary. You can
  325.        even disable TbCheck in one window without affecting the
  326.        functionality in another window.
  327.  
  328.  
  329.   2.3.  While checking
  330.  
  331.     Whenever a program tries to write to an executable file (files with
  332.     the extensions .COM and .EXE), you will shortly see the text
  333.     "*Checking*" in the upper left corner of your screen.  As long as
  334.     TbCheck is checking this text will appear. Since TbCheck takes not
  335.     much time to check the file, the message will only appear shortly.
  336.  
  337.  
  338.   2.4.  Detecting file changes
  339.  
  340.     TbCheck quicly checks a program when that program gets invoked.
  341.  
  342.     If TbCheck detects that a file has been changed, a pop-up window
  343.     will appear with a message, informing you about this in your own
  344.     language. You can either choose to continue, or to abort the
  345.     program invocation.
  346.  
  347.     If there is no information (Anti-Vir.Dat) about the program,
  348.     TbCheck will inform you about this too. You can either choose to
  349.     continue without checking, or to abort the program invocation.
  350.  
  351.  
  352.   2.5.  Command line options
  353.  
  354.     It is possible to specify options on the command line. The upper
  355.     four options are always available, the other options are only
  356.     available if TbCheck is not already resident in memory.
  357.  
  358.  
  359.  
  360.  
  361.                                      Page 5
  362.  
  363.  Thunderbyte resident integrity checker. (C) 1992 Thunderbyte B.V.
  364.  
  365.  
  366.     optionword  parameter  short  explanation
  367.     ----------  ---------  ----- ----------------------------
  368.  
  369.         help                ?  =display this helpscreen
  370.         off                 d  =disable checking
  371.         on                  e  =enable checking
  372.         remove              r  =remove TbCheck from memory
  373.  
  374.         noavok [=<drives>]  o  =check for mismatches only
  375.         fullcrc             f  =calculate full CRC (slow!)
  376.         secure              s  =do not execute unauthorized files
  377.  
  378.    2.5.1.  help (?)
  379.  
  380.     If you specify this option TbCheck will show you the brief help as
  381.     shown above. Once TbCheck has been loaded the help option will not
  382.     show all options anymore.
  383.  
  384.    2.5.2.  off (d)
  385.  
  386.     If you specify this option TbCheck will be disabled, but it will
  387.     remain in memory.
  388.  
  389.    2.5.3.  on (e)
  390.  
  391.     If you use this option TbCheck will be activated again after you
  392.     disabled it with the 'off' option.
  393.  
  394.    2.5.4.  remove (r)
  395.  
  396.     This option can be used to remove the resident part of TbCheck from
  397.     your memory.  All memory used by TbCheck will be released.
  398.     Unfortunately, the removal of a TSR (like TbCheck) is not always
  399.     possible.  TbCheck checks whether it is safe to remove the resident
  400.     part from memory, if it is not safe it just disables TbCheck. A TSR
  401.     can not be removed if another TSR is started after it.  If this
  402.     happens with TbCheck it will completely disable itself.
  403.  
  404.    2.5.5.  noavok (o)
  405.  
  406.     TbCheck will display a message if it can not find the checksum
  407.     information located in the Anti-Vir.Dat file. This makes sure that
  408.     if a malicious program deletes the Anti-Vir.Dat file, or if sombody
  409.     adds a program to your system, you will get a warning. Although it
  410.     is recommended to maintain Anti-Vir.Dat files on all drives, it
  411.     might not be practical to maintain an Anti-Vir.Dat file on floppy
  412.     disks, ramdisks, CD-ROM disks, etc. You can exclude specific drives
  413.     from the Anti-Vir.Dat requirement by using option 'noavok'. With
  414.     this option you can specify the drives on which Anti-Vir.Dat
  415.     records are not required. For instance, if you don't want an alarm
  416.     if a program on a floppy disk (A: and B:) or on your ramdisk (E:)
  417.     doesn't have an Anti-Vir.Dat record, you should specify:
  418.  
  419.  
  420.  
  421.                                      Page 6
  422.  
  423.  Thunderbyte resident integrity checker. (C) 1992 Thunderbyte B.V.
  424.  
  425.  
  426.     "NoAvOk=ABE". If you don't specify a parameter to option 'noavok'
  427.     TbCheck will never issue a warning if an Anti-Vir record is missing
  428.     on any drive. Note that this offers a security hole for viruses: by
  429.     deleting the Anti-Vir.Dat file you will not detect the file change
  430.     caused by the infection.
  431.  
  432.     Of course option 'noavok' has no effect on the detection of
  433.     infected programs: if a program has been changed and the Anti-Vir
  434.     record is available, you will get an alarm regardless of the use of
  435.     option 'noavok'.
  436.  
  437.    2.5.6.  fullcrc (f)
  438.  
  439.     TbCheck by default only checks the part of the file near the entry
  440.     point. If a virus infects the file, this area is guaranteed to
  441.     change, so this is sufficient to detect all infections. Other file
  442.     changes (like configuration information) will not trigger the
  443.     alarm. However, if you want for any reason a full check that
  444.     detects any change of the file, you can use this option. Note that
  445.     this slows down the system considerably!  This option is not
  446.     recommended for normal (anti-virus) usage!
  447.  
  448.    2.5.7.  secure (s)
  449.  
  450.     TbCheck normally asks the user to continue or to cancel when a file
  451.     has been changed or when there is no checksum information
  452.     available. In some business environments however this choice should
  453.     not be made by employees. By using option 'secure' it is no longer
  454.     possible to execute new or unknown programs, or programs that have
  455.     been changed.
  456.  
  457.  
  458.   2.6.  Examples:
  459.  
  460.         C:\utils\TbCheck secure
  461.  
  462.         (load TbCheck and do not allow it to run unauthorized files)
  463.     or:
  464.         Device=C:\utils\TbCheck.Exe noavok=abe
  465.  
  466.         (load TbCheck and do not warn for missing Anti-Vir.Dat records
  467.         on drive A:, B: and E:).
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.                                      Page 7
  482.  
  483.  Thunderbyte resident integrity checker. (C) 1992 Thunderbyte B.V.
  484.  
  485.  
  486. 3.  CONSIDERATIONS AND RECOMMENDATIONS
  487.  
  488.  
  489.   3.1.  Solving incompatibility problems.
  490.  
  491.     Although TbCheck has been designed to cooperate with other resident
  492.     software, other software may not have been, causing system errors or
  493.     worse.
  494.  
  495.     The problems most often inccurred:
  496.  
  497.     Problem:
  498.         If TbCheck tries to display a message, the text 'message file
  499.         <filename> could not be opened' appears.
  500.  
  501.     Solution:
  502.         Specify the FULL path and filename of the file that you will
  503.         use as message file after the TbDriver invocation. The default
  504.         filename is TbDriver.Lng
  505.  
  506.     Problem:
  507.         You are running a network. TbCheck is installed succesfully,
  508.         but it does not display the "*checking*" message while
  509.         accessing files.  It also does not detect viruses.
  510.  
  511.     Solution:
  512.         Use the command 'TbDriver net' after the network has been
  513.         loaded.
  514.  
  515.     Problem:
  516.         The system sometimes hangs when the message "*checking*" is on
  517.         the screen. The problem however is hard to reproduce.
  518.  
  519.     Solution:
  520.         Try using StackMan. StackMan is supplied in the TBAV package.
  521.  
  522.     Problem:
  523.         Everything works well, but as soon as I load a specific TSR the
  524.         system hangs immediately after the TSR goes resident.
  525.  
  526.     Solution:
  527.         Use StackMan with the -dos option and try again.
  528.  
  529.  
  530.   3.2.  Reducing the memory requirements.
  531.  
  532.     Most PC users try to maintain as much free DOS memory as possible.
  533.     TbCheck is designed to use a very small amount of DOS memory. To
  534.     decrease the memory requirements of TbCheck any further do the
  535.     following:
  536.  
  537.     -   Load TbCheck from within the Config.Sys file. If loaded as a
  538.  
  539.  
  540.  
  541.                                      Page 8
  542.  
  543.  Thunderbyte resident integrity checker. (C) 1992 Thunderbyte B.V.
  544.  
  545.  
  546.         device driver TbCheck has no Program Segment Prefix (PSP),
  547.         and that saves 256 bytes.
  548.  
  549.     -   If you invoke TbCheck from within the Autoexec.Bat file do this
  550.         before establishing environment variables. DOS maintains a list
  551.         of environment variables for every resident program, so keep
  552.         this list small while installing TSRs. Once all TSRs are
  553.         installed you can define all environment variables without
  554.         affecting the memory requirements of the TSRs.
  555.  
  556.     -   If you have DOS 5 or higher try to load TbCheck into an upper
  557.         memory block using the "loadhigh" or "devicehigh" commands.
  558.  
  559.     -   Use one of the processor specific versions of TbCheck. They all
  560.         consume less memory than the generic version of TbCheck.
  561.         Processor optimized versions are available on any Thunderbyte
  562.         support BBS.
  563.  
  564.  
  565.   3.3.  Testing the checker
  566.  
  567.     Many people understandably wish to test the product they are using.
  568.     While it is very easy to test, for instance, a word processor, it
  569.     is very difficult to test a smart integrity checker like TbCheck.
  570.     You cannot randomly change 25 bytes from an executable just to
  571.     find out whether or not TbCheck will detect the file change. It is
  572.     very likely that TbCheck will NOT detect it because it only checks
  573.     the entry-area of the file whereas the changed bytes might be
  574.     located on another location within the file.
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.                                      Page 9